import { http } from "@/utils/http";

// 管理员数据类型定义（根据API文档4.2管理员列表）
export interface Admin {
  a_uname: string; // 账号
  a_name: string; // 姓名
  a_mobile: string; // 手机
  a_status: string; // 状态1有效
  status: string; // 状态描述
}

// 添加管理员参数类型（根据API文档4.1添加管理员）
export interface AddAdminParams {
  uname: string; // 账号
  pwd: string; // 密码
  name: string; // 姓名
  mobile: string; // 手机号
}

// 编辑管理员参数类型（根据API文档4.3编辑管理员）
export interface EditAdminParams {
  id: string; // 管理员id
  uname: string; // 账号
  pwd: string; // 密码
  name: string; // 姓名
  mobile: string; // 手机号
}

// 修改密码参数类型（根据API文档4.3编辑管理员）
export interface EditPwdParams {
  id: string; // 管理员id
  pwd: string; // 原密码
  new_pwd: string; // 新密码
}

// 管理员列表查询参数类型（根据API文档4.2管理员列表）
export interface AdminListParams {
  keys?: string; // 账号、手机号搜索
}

// API返回结果类型
export interface ApiResult<T = any> {
  code: number; // 状态码：1 成功
  msg: string; // 描述
  data: T; // 数据
}

/** 添加管理员（根据API文档4.1添加管理员） */
export const addAdmin = (params: AddAdminParams) => {
  return http.request<ApiResult>("post", "/admin/admin.php?act=add", {
    data: params
  });
};

/** 获取管理员列表（根据API文档4.2管理员列表） */
export const getAdminList = (params: AdminListParams = {}) => {
  return http.request<ApiResult<Admin[]>>("post", "/admin/admin.php?act=list", {
    data: params
  });
};

/** 编辑管理员（根据API文档4.3编辑管理员） */
export const editAdmin = (params: EditAdminParams) => {
  return http.request<ApiResult>("post", "/admin/admin.php?act=edit", {
    data: params
  });
};
/** 修改密码管理员（根据API文档4.3编辑管理员） */
export const editAdminPwd = (params: EditPwdParams) => {
  return http.request<ApiResult>("post", "/admin/admin.php?act=uppwd", {
    data: params
  });
};

/** 删除管理员（根据API文档4.4切换状态） */
export const delAdmin = (id: number) => {
  return http.request<ApiResult>("post", "/admin/admin.php?act=del", {
    data: { id }
  });
};
